home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 142
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan).7z
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan) (Track 1).bin
/
tools
/
s_tool
/
picsave.h
< prev
next >
Wrap
Text File
|
1994-10-31
|
3KB
|
195 lines
* Local Macros,Constants and Variables for PICSAVE.ap
* written by GORRY.
* $Id: picsave.h,v 2.0.0.1 1994/10/31 12:07:29 GORRY Exp GORRY $
* * * * * * * * * *
* Macros.
CheckDOSErr macro
tst.l d0
bmi ExitPicSave
endm
BufTopReg reg d5
CountRestBufReg reg d6
BitCountReg reg d7
BufPtrReg reg a6
CompressPtrReg reg a4
ChainPtrReg reg a3
WidthXReg reg d4
LenReg reg d3
ColorReg reg d2
* * * * *
* 1ビットセット
SetBit: macro
local unWriteBuf,unPtrInc
dbra BitCountReg,unPtrInc
moveq.l #15,BitCountReg
move.w BufTopReg,(BufPtrReg)+
subq.l #2,CountRestBufReg
bne unWriteBuf
bsr WriteBuf
unWriteBuf:
moveq.l #0,BufTopReg
unPtrInc:
bset BitCountReg,BufTopReg
endm
* * * * *
* 1ビットクリア
ClrBit: macro
local unWriteBuf,unPtrInc
dbra BitCountReg,unPtrInc
moveq.l #15,BitCountReg
move.w BufTopReg,(BufPtrReg)+
subq.l #2,CountRestBufReg
bne unWriteBuf
bsr WriteBuf
unWriteBuf:
moveq.l #0,BufTopReg
unPtrInc:
endm
* * * * *
* nビット書き込み
WriteBits: macro BitLen,Operand
local unWriteBuf,unPtrInc
sub.w BitLen,BitCountReg
rol.l BitCountReg,Operand
or.l Operand,BufTopReg
tst.w BitCountReg
bpl unPtrInc
add.w #16,BitCountReg
move.w BufTopReg,(BufPtrReg)+
subq.l #2,CountRestBufReg
bne unWriteBuf
bsr WriteBuf
unWriteBuf:
clr.w BufTopReg
swap BufTopReg
unPtrInc:
endm
* * * * * * * * * *
* Constants.
SizeOfAuthorBuf = 256+1
* * * * * * * * * *
* Local Structures.
.offset 0
SColorTable_Col: dc.w 1
SColorTable_Next: dc.w 1
SColorTable_Prev: dc.w 1
SColorTable_Dummy: dc.w 1 *8の倍数にしておくと計算が楽
SColorTableSize:
.text
* * * * * * * * * *
* Local Variables.
.ifdef MOVEOFFSET
LocalOffset: equ 1024*4
.else
LocalOffset: equ 0
.endif
.offset LocalOffset
LocalStart:
@@ColorTable: ds.w SColorTableSize*128
@@ColorTable_TopPtr: ds.w 1
@@SaveBufPtr: ds.l 1
@@FileBufPtr: ds.l 1
@@FileNamePtr: ds.l 1
@@CompressPtr: ds.l 1
@@CommentBufPtr: ds.l 1
@@Stack: ds.l 1
@@FileBufSize: ds.l 1
@@Flag: ds.l 1
@@FileHandle: ds.w 1
@@SaveX1: ds.l 1
@@SaveY1: ds.l 1
@@SaveX2: ds.l 1
@@SaveY2: ds.l 1
@@SizeX: ds.w 1
@@SizeY: ds.w 1
@@NextOffsetX: ds.w 1
@@LineSize: ds.w 1
@@CRTC_R20_Back: ds.b 1
@@UnSaved_Flag: ds.b 1
.even
@@AuthorBuf: ds.b SizeOfAuthorBuf
.even
LocalEnd:
LocalSize: equ LocalEnd-LocalStart
.text
* * * * * * * * * *
* Local Buffers.
.bss
.even
.even
.text
* * * * * * * * * *
* Local Variables' buffers.
.if 0 *スタック上に採るので必要ない
.bss
.even
Local:
ds.b LocalSize
.even
.text
.endif
* * * * * * * * * *
* * * * * * * * *
* このファイルはパブリック・ドメインとなっています。 *
* 改造・再配布・使用について必要な条件はありません。 *
* また、このファイルの使用による責務を作者である *
* GORRYは負わないこととします。 *
* * * * * * * * *